// MIR for `main` after built

fn main() -> () {
    let mut _0: ();                      // return place in scope 0 at $DIR/issue_49232.rs:+0:11: +0:11
    let mut _1: ();                      // in scope 0 at $DIR/issue_49232.rs:+0:1: +10:2
    let _2: i32;                         // in scope 0 at $DIR/issue_49232.rs:+2:13: +2:19
    let mut _3: bool;                    // in scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
    let mut _4: !;                       // in scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
    let _5: ();                          // in scope 0 at $DIR/issue_49232.rs:+8:9: +8:22
    let mut _6: &i32;                    // in scope 0 at $DIR/issue_49232.rs:+8:14: +8:21
    scope 1 {
        debug beacon => _2;              // in scope 1 at $DIR/issue_49232.rs:+2:13: +2:19
    }

    bb0: {
        goto -> bb1;                     // scope 0 at $DIR/issue_49232.rs:+1:5: +9:6
    }

    bb1: {
        falseUnwind -> [real: bb2, unwind: bb11]; // scope 0 at $DIR/issue_49232.rs:+1:5: +9:6
    }

    bb2: {
        StorageLive(_2);                 // scope 0 at $DIR/issue_49232.rs:+2:13: +2:19
        StorageLive(_3);                 // scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
        _3 = const true;                 // scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
        FakeRead(ForMatchedPlace(None), _3); // scope 0 at $DIR/issue_49232.rs:+3:19: +3:23
        switchInt(_3) -> [0: bb3, otherwise: bb4]; // scope 0 at $DIR/issue_49232.rs:+3:13: +3:23
    }

    bb3: {
        falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at $DIR/issue_49232.rs:+4:17: +4:22
    }

    bb4: {
        _0 = const ();                   // scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
        goto -> bb10;                    // scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
    }

    bb5: {
        _2 = const 4_i32;                // scope 0 at $DIR/issue_49232.rs:+4:26: +4:27
        goto -> bb8;                     // scope 0 at $DIR/issue_49232.rs:+4:26: +4:27
    }

    bb6: {
        unreachable;                     // scope 0 at $DIR/issue_49232.rs:+5:25: +5:30
    }

    bb7: {
        goto -> bb8;                     // scope 0 at $DIR/issue_49232.rs:+6:13: +6:14
    }

    bb8: {
        FakeRead(ForLet(None), _2);      // scope 0 at $DIR/issue_49232.rs:+2:13: +2:19
        StorageDead(_3);                 // scope 0 at $DIR/issue_49232.rs:+7:10: +7:11
        StorageLive(_5);                 // scope 1 at $DIR/issue_49232.rs:+8:9: +8:22
        StorageLive(_6);                 // scope 1 at $DIR/issue_49232.rs:+8:14: +8:21
        _6 = &_2;                        // scope 1 at $DIR/issue_49232.rs:+8:14: +8:21
        _5 = std::mem::drop::<&i32>(move _6) -> [return: bb9, unwind: bb11]; // scope 1 at $DIR/issue_49232.rs:+8:9: +8:22
                                         // mir::Constant
                                         // + span: $DIR/issue_49232.rs:13:9: 13:13
                                         // + literal: Const { ty: fn(&i32) {std::mem::drop::<&i32>}, val: Value(<ZST>) }
    }

    bb9: {
        StorageDead(_6);                 // scope 1 at $DIR/issue_49232.rs:+8:21: +8:22
        StorageDead(_5);                 // scope 1 at $DIR/issue_49232.rs:+8:22: +8:23
        _1 = const ();                   // scope 0 at $DIR/issue_49232.rs:+1:10: +9:6
        StorageDead(_2);                 // scope 0 at $DIR/issue_49232.rs:+9:5: +9:6
        goto -> bb1;                     // scope 0 at $DIR/issue_49232.rs:+1:5: +9:6
    }

    bb10: {
        StorageDead(_3);                 // scope 0 at $DIR/issue_49232.rs:+7:10: +7:11
        StorageDead(_2);                 // scope 0 at $DIR/issue_49232.rs:+9:5: +9:6
        return;                          // scope 0 at $DIR/issue_49232.rs:+10:2: +10:2
    }

    bb11 (cleanup): {
        resume;                          // scope 0 at $DIR/issue_49232.rs:+0:1: +10:2
    }
}
